﻿using System;
using System.Windows.Media.Imaging;

namespace Groovy_IM.Protocols.Yahoo
{
    public class Yah
    {
        public delegate void BuddyChatUpdate2(string Chat, int Exchange, int Type, string Username, bool EnteredRoom);
        public delegate void BuddyGroup2(string GroupName, int GroupID);
        public delegate void BuddyItem2(string BuddyName, int GroupID, int BuddyID);
        public delegate void BuddyStatusUpdate2(string BuddyName, int Status, string StatusMessage);
        public delegate void IncomingChatInvite2(string Screenname, string InviteMessage, string Chat, string Exchange, string Type, string Instance, string Details);
        public delegate void IncomingChatMessage2(string Screenname, string Message);
        public delegate void IncomingICBM2(string Screenname, string Message);
        public delegate void IncomingUserIcon2(string Screenname, BitmapImage Avatar);
        public delegate void IncomingUserInformation2(string Screenname, string Profile, int Status);
        public delegate void JoinChatError2(string Chat, string Error);
        public delegate void JoinedChat2(string Chat, int Exchange, int Type);
        public delegate void LoggedIn2();
        public delegate void LoggedOut2();
        public delegate void LoggingIn2(double CurrentStatus);
        public delegate void LoginError2(string Error);

        public event BuddyChatUpdate2 BuddyChatUpdate;
        public event BuddyGroup2 BuddyGroup;
        public event BuddyItem2 BuddyItem;
        public event BuddyStatusUpdate2 BuddyStatusUpdate;
        public event IncomingChatInvite2 IncomingChatInvite;
        public event IncomingChatMessage2 IncomingChatMessage;
        public event IncomingICBM2 IncomingICBM;
        public event IncomingUserIcon2 IncomingUserIcon;
        public event IncomingUserInformation2 IncomingUserInformation;
        public event JoinChatError2 JoinChatError;
        public event JoinedChat2 JoinedChat;
        public event LoggedIn2 LoggedIn;
        public event LoggedOut2 LoggedOut;
        public event LoggingIn2 LoggingIn;
        public event LoginError2 LoginError;

        private PacketBuilder m_Packets = new PacketBuilder();

        private Sock m_Yahoo;
        
    }
}
